<template>
	<view>
	<!-- 开启消息提示 -->
	<u-toast ref="uToast" />
	<view class="u-m-t-30 u-m-l-30 u-font-18 u-title">修改个人信息</view>
	<u-form :model="form" ref="uForm" class="u-m-l-30 u-text-center">
		<u-form-item label="头像">
		<u-input v-model="form.head_image" />
		<u-button shape="square" type="primary" class="u-m-r-20" @click="chooseImage">选择照片</u-button>
		</u-form-item>
		<u-form-item label="姓名"><u-input v-model="form.real_name" /></u-form-item>
		<u-form-item label="密码"><u-input v-model="form.password" /></u-form-item>
		<!-- <u-form-item label="性别"><u-input v-model="form.intro" /></u-form-item> -->
     </u-form>
	 <u-button type="primary"  class="u-m-t-50 u-m-l-20 u-m-r-20" @click="submit">修改</u-button>
	 </view>
</template>

<script>
	export default {
		data() {
			
			return {
				form:{
					//头像在云端url
					head_image:'',
					real_name:'',
					password:'',
				},
				//头像临时地址
				temp_image:'',
				//上传之前文件名
				image_name:''
			}
		},
		methods: {
			//选择图片将图片路径显示到input中
			chooseImage(){
				// console.log("2134")
				let _this=this
				//云函数选择上传图片
				uni.chooseImage({
					//选择上传的图片数
					count:1,
					success(res){
						// console.log("this",_this)
						//获取选择图片的临时地址
						// console.log(res.tempFiles[0])
						//保存临时地址
						_this.temp_image=res.tempFiles[0].path
						//head_iamg暂时变成临时url,让用户感觉选择了
						_this.form.head_image=res.tempFiles[0].path
						_this.image_name=res.tempFiles[0].name
					}
				})
			},
			//修改用户
			submit(){
				console.log("sf")
				//上传图片
				let _this=this
				uniCloud.uploadFile({
					filePath:_this.temp_image,//文件的临时路径
					cloudPath:_this.image_name,//在云存储中的名字
					success:function(res){
						//获取其在空间中的id/url
						// console.log("<<<<",_this)
						// console.log(res.fileID)
						//表单中替换
						_this.form.head_image=res.fileID
						// console.log("<..",_this.form.head_image)
						// console.log("<><><>",_this.form)
						//修改用户信息
						uniCloud.callFunction({
												name: "user",
												data: {
													form:_this.form,
													_id:uni.getStorageSync('storage_user')!=''?uni.getStorageSync('storage_user').data[0]._id:'',
													type: "updateUser"
												},
												success: (res) => {
													// console.log("error！",res);
													if(res.result.updateResult.updated!=1){
														// console.log("error！",res);
														//提示消息
														_this.$refs.uToast.show({
																title: '修改失败！',
																type: 'error',//提示文字
																position:"top",
																duration:'1000',//时间
																icon:false
																})
															return;
													}
													//成功
													//提示消息
													_this.$refs.uToast.show({
															title: '修改成功！',
															type: 'success',//提示文字
															position:"top",
															icon:false,
															duration:'1000',//时间
															})
													//更改本地款存数据
													uni.setStorageSync("storage_user",res.result.user)		
															
												},
												fail: (err) => {
													console.log(err)
												}
											})
						
				
				
					}
				})
				//不上传文件 修改用户其他信息
				//修改用户信息
				uniCloud.callFunction({
										name: "user",
										data: {
											form:_this.form,
											_id:uni.getStorageSync('storage_user')!=''?uni.getStorageSync('storage_user').data[0]._id:'',
											type: "updateUser"
										},
										success: (res) => {
											// console.log("error！",res);
											if(res.result.updateResult.updated!=1){
												// console.log("error！",res);
												//提示消息
												_this.$refs.uToast.show({
														title: '修改失败！',
														type: 'error',//提示文字
														position:"top",
														duration:'1000',//时间
														icon:false
														})
													return;
											}
											//成功
											//提示消息
											_this.$refs.uToast.show({
													title: '修改成功！',
													type: 'success',//提示文字
													position:"top",
													icon:false,
													duration:'1000',//时间
													})
											//更改本地款存数据
											uni.setStorageSync("storage_user",res.result.user)		
													
										},
										fail: (err) => {
											console.log(err)
										}
									})
			},
			   //将用户数据渲染到form
			   showUserInfo(){
				   uniCloud.callFunction({
				   				name: "user",
				   				data: {
				   					_id:uni.getStorageSync('storage_user')!=''?uni.getStorageSync('storage_user').data[0]._id:'',
				   					type: "selectUserById"
				   				},
				   				success: (res) => {
				   					// console.log("error！",res);
				   					if(res.result.status!=200){
				   						return;
				   					}
				   					//成功
									// console.log(this.form)
									//赋值
									this.form=res.result.user.data[0]
				   				},
				   				fail: (err) => {
				   					console.log(err)
				   				}
				   			})
			   }
		},
		
		onLoad() {
			this.showUserInfo()
			// console.log(uni.getStorageSync('storage_user').data[0]._id)
		},
		
	}
</script>

<style>
.footbox{
/* 	position: fixed;
	bottom: 10rpx;
	height: 70rpx;
	right: 270rpx; */
}
</style>
